home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / OCLIEN.PAK / RECTITEM.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  69 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1995 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11.  
  12. // class CRectItem - main COleClientItem bounded by a rectangle
  13.  
  14. class CMainDoc;
  15. class CMainView;
  16.  
  17. class CRectItem : public COleClientItem
  18. {
  19.     DECLARE_SERIAL(CRectItem)
  20.     CRectItem();
  21.  
  22. public:
  23.     CRectItem(COleDocument* pContainer);
  24.     ~CRectItem();
  25.  
  26. // Attributes
  27.     CPoint m_ptPos;                //position in document
  28.     CSize GetSize();            //current size
  29.     void SetSize(CSize size);
  30.     CSize GetBaseSize();        //base size
  31.     void SetBaseSize(CSize size);
  32.     CRect GetRect()                //current rect
  33.         { return CRect(m_ptPos, GetSize()); }
  34.     void SetRect(CRect& rect);
  35.  
  36.     CMainDoc* GetDocument()
  37.         { return (CMainDoc*)COleClientItem::GetDocument(); }
  38.     CMainView* GetActiveView()
  39.         { return (CMainView*)COleClientItem::GetActiveView(); }
  40.  
  41. // Operations
  42.     void Dirty()
  43.         { GetDocument()->SetModifiedFlag(); }
  44.     void Invalidate(CView* pNotThisView = NULL);
  45.     BOOL UpdateExtent();
  46.     void Move(CRect &rc);
  47.     void ResetSize();
  48.     void GetNativeClipboardData(COleDataSource *pDataSource);
  49.  
  50.     virtual void Serialize(CArchive& ar); // from CObject - public to call directly
  51.  
  52. // Overridables
  53. protected:
  54.     virtual void OnChange(OLE_NOTIFICATION wNotification, DWORD dwParam);
  55.     virtual BOOL OnChangeItemPosition(const CRect& rectPos);
  56.     virtual void OnActivate();
  57.     virtual COleDataSource* OnGetClipboardData(BOOL bIncludeLink,
  58.         LPPOINT lpOffset, LPSIZE lpSize);
  59.     virtual void OnDeactivateUI(BOOL bUndoable);
  60.  
  61. public:
  62.     virtual void OnGetItemPosition(CRect& rPosition);
  63. protected:
  64.     CSize m_sizeIcon;            //current size
  65.     CSize m_sizeContent;        //current size
  66.     CSize m_sizeIconExtent;        //default size
  67.     CSize m_sizeContentExtent;    //default size
  68. };
  69.